981B - Businessmen Problems - CodeForces Solution


sortings *1000

Please click on ads to support us..

Python Code:

n=int(input())
d=dict()
for i in range(n):
    x,y=map(int,input().split())
    d[x]=y
m=int(input())
for i in range(m):
    x,y=map(int,input().split())
    if x in d:
        d[x]=max(y,d.get(x))
    else:
        d[x]=y
print(sum(d.values()))

C++ Code:

#include <bits/stdc++.h>

using namespace std;
#define ll long long
map <ll, pair<ll, ll> > m;
int main() {
	ll n;
	cin >> n;
	ll a[n], x[n];
	ll ans = 0;
	for(ll i = 0; i < n; i++) {
		cin >> a[i] >> x[i];
		ans += x[i];
		m[a[i]] = make_pair(1, x[i]);
	}
	ll q;
	cin >> q;
	ll b[q], y[q];
	for(ll i = 0; i < q; i++) {
		cin >> b[i] >> y[i];
		if(m[b[i]].first == 1) {
			if(y[i] > m[b[i]].second) {
				ans -= m[b[i]].second;
				ans += y[i];
			}
		}
		else {
			ans += y[i];
		}
	}
	cout << ans;	
}


Comments

Submit
0 Comments
More Questions

1699A - The Third Three Number Problem
1617B - GCD Problem
841A - Generous Kefa
1690B - Array Decrements
1692C - Where's the Bishop
104A - Blackjack
1438A - Specific Tastes of Andre
1711C - Color the Picture
1194C - From S To T
110B - Lucky String
1114A - Got Any Grapes
224B - Array
125B - Simple XML
567B - Berland National Library
431B - Shower Line
282C - XOR and OR
1582B - Luntik and Subsequences
609A - Флеш-карты
1207A - There Are Two Types Of Burgers
371C - Hamburgers
343B - Alternating Current
758B - Blown Garland
1681B - Card Trick
1592A - Gamer Hemose
493D - Vasya and Chess
1485A - Add and Divide
337B - Routine Problem
1392D - Omkar and Bed Wars
76E - Points
762C - Two strings